Software analysis pattern